Interfacing Chapel with traditional HPC programming languages
نویسندگان
چکیده
Chapel is a high-level parallel programming language that implements a partitioned global address space model (PGAS). Programs written in this programming model have traditionally been selfcontained entities written entirely in one language. While this approach enables the compiler to produce better performing code by doing whole program optimization, it also carries a risk of positioning PGAS languages as “island” programming languages. In this paper we present a tool that lets Chapel programs call functions and instantiate objects written in C, C++, Fortran 77– 2008, Java and Python. Our tool creates language bindings that are binary-compatible with those generated by the Babel language interoperability tool. The scientific community maintains a large amount of code (mathematical libraries, solvers and numerical models) written in legacy languages. With the help of our tool, users will gain access to their existing codebase with minimal effort and through a well-defined interface. Knowing the demands of the target audience, we support the full Babel array API. A particular contribution of this paper is that we expose Chapel’s distributed data types through our interface and make them accessible to external functions implemented in traditional serial programming languages. We anticipate applying similar concepts to other PGAS languages in the future.
منابع مشابه
Preliminary Evaluation of Chapel capabilities with NAS Parallel Benchmarks
Chapel is a new high-level programming language aimed at the programmability aspect required for HPC. This document shows a preliminary comparison between the OMP implementation of several NAS Benchmarks and their corresponding versions written in Chapel.
متن کاملChapel, Fortress and X10: novel languages for HPC
Chapel, Fortress and X10 are novel languages focussed on the HPC community. They have been developed with the aim to facilitate the programming of large nextgeneration parallel systems and increase both the productivity of the programs’ developers and the scalability of the developed codes. This report introduces these languages by offering on overview of the design and specification of each la...
متن کاملPorting GASNet to Portals: Partitioned Global Address Space (PGAS) Language Support for the Cray XT
Partitioned Global Address Space (PGAS) Languages are an emerging alternative to MPI for HPC applications development. The GASNet library from Lawrence Berkeley National Lab and the University of California at Berkeley provides the network runtime for multiple implementations of four PGAS Languages: Unified Parallel C (UPC), Co-Array Fortran (CAF), Titanium and Chapel. GASNet provides a low ove...
متن کاملA Study of Successive Over-relaxation (SOR) Method Parallelization Over Modern HPC Languages
Successive over-relaxation (SOR) is a computationally intensive, yet extremely important iterative solver for solving linear systems. Due to recent trends of exponential growth in amount of data generated and increasing problem sizes, serial platforms have proved to be insufficient in providing the required computational power. In this paper, we present parallel implementations of red-black SOR...
متن کاملA study of successive over-relaxation method parallelisation over modern HPC languages
Successive over-relaxation (SOR) is a computationally intensive, yet extremely important iterative solver for solving linear systems. Due to recent trends of exponential growth in amount of data generated and increasing problem sizes, serial platforms have proved to be insufficient in providing the required computational power. In this paper, we present parallel implementations of red-black SOR...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2011